home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / pascal / mystic.zip / PAS5.DOC < prev    next >
Text File  |  1986-02-27  |  23KB  |  1,712 lines

  1.  
  2.         Mystic Pascal  User Manual                                      29
  3.  
  4.  
  5.         8.  Procedures and Functions
  6.  
  7.              This   section  of  the  manual  describes  procedures   and 
  8.         functions.    Procedures   and   functions  which  are  used   in 
  9.         Input/Output  processing  are described  in  section  9.   Multi-
  10.         tasking procedures are described in section 7.
  11.  
  12.  
  13.                 Procedure       Purpose
  14.                 ---------       -------
  15.                 DISPOSE         deallocate dynamic variable 
  16.         +       INTR            interrupt call
  17.                 NEW             allocate dynamic variable 
  18.                 PACK            unimplemented
  19.                 UNPACK          unimplemented
  20.  
  21.                 Function        Return Value
  22.                 --------        ------------
  23.                 ABS             absolute value
  24.                 ARCTAN          arctangent
  25.                 CHR             convert integer to character
  26.                 COS             cosine
  27.                 EXP             exponential function
  28.         +       FLOAT           convert integer to real
  29.         +       FRACTION        fractional part of real
  30.         +1.6    INTSTR          convert integer to string
  31.                 LN              natural logarithm
  32.                 ODD             test for odd integer
  33.         +       OFFSET          offset of a variable
  34.                 ORD             convert ordinal to integer
  35.                 PRED            preceding ordinal
  36.         +1.6    REALSTR         convert real number to string
  37.                 ROUND           convert real number to integer
  38.         +       SEGMENT         segment of a variable
  39.                 SIN             sine
  40.                 SQR             square
  41.                 SQRT            square root
  42.         +1.6    STRINT          convert string to integer
  43.         +1.6    STRREAL         convert string to real number
  44.                 SUCC            succeeding ordinal 
  45.                 TRUNC           convert real number to integer
  46.         +1.6    UPCASE          convert char to upper case
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.         Section 8:  Procedures and Functions
  58.  
  59.         Mystic Pascal  User Manual                                      30
  60.  
  61.  
  62.         8.1  ABS
  63.  
  64.  
  65.         ABS( expression ) 
  66.            
  67.  
  68.              The  ABS standard function returns the absolute value of  an 
  69.         integer  or real expression.   The result is of the same type  as 
  70.         the input expression.
  71.  
  72.         Examples:
  73.  
  74.                 A := ABS( X );
  75.  
  76.                 WRITELN( 'ABSOLUTE VALUE IS',ABS( COS( Y )));
  77.  
  78.                 B := ABS( X + Y / Z );
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.         Section 8:  Procedures and Functions
  115.  
  116.         Mystic Pascal  User Manual                                      31
  117.  
  118.  
  119.         8.2  ARCTAN
  120.  
  121.  
  122.         ARCTAN( expression ) 
  123.  
  124.  
  125.              This  standard function returns the arctangent of a real  or 
  126.         integer expression.   The result type is real and is expressed in 
  127.         radians.
  128.  
  129.  
  130.         Examples:
  131.  
  132.                 WRITELN( ARCTAN( A + 3.14159 ));
  133.  
  134.                 NODE.VALUE := OLDNODE.VALUE + ARCTAN( V );
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.         Section 8:  Procedures and Functions
  172.  
  173.         Mystic Pascal  User Manual                                      32
  174.  
  175.  
  176.         8.3  CHR
  177.  
  178.  
  179.         CHR( integer_expression ) 
  180.  
  181.  
  182.              The  CHR  standard function converts an  integer  expression 
  183.         into  a  character.   The result type is char.   If  the  integer 
  184.         expression  is  less than zero or greater than  255,  a  run-time 
  185.         error occurs.
  186.  
  187.              CHR  is often used for sending control characters to  output 
  188.         devices.
  189.  
  190.  
  191.         Examples:
  192.  
  193.                 WRITE( CHR( 12 ));
  194.  
  195.                 TAB := CHR( 9 );
  196.  
  197.                 CARRIAGERETURN := CHR(13);
  198.  
  199.                 LINEFEED := CHR(10);
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.         Section 8:  Procedures and Functions
  229.  
  230.         Mystic Pascal  User Manual                                      33
  231.  
  232.  
  233.         8.4  COS
  234.  
  235.  
  236.         COS( expression ) 
  237.  
  238.  
  239.              The  COS standard function returns the cosine of a  real  or 
  240.         integer expression whose value is given in radians.   The  result 
  241.         type is real.
  242.  
  243.  
  244.         Examples:
  245.  
  246.                 WRITELN( COS( ANGLE ));
  247.  
  248.                 NODE.COSINE := COS( N );
  249.  
  250.                 WRITELN( COS( VELOCITY / CHARGE ));
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.         Section 8:  Procedures and Functions
  286.  
  287.         Mystic Pascal  User Manual                                      34
  288.  
  289.  
  290.         8.5  DISPOSE
  291.  
  292.  
  293.         DISPOSE( pointer_variable ) 
  294.  
  295.               
  296.              The   DISPOSE  procedure  is  used  to  deallocate   dynamic 
  297.         variables.  The  pointer_variable addresses a dynamic variable in 
  298.         dynamic  storage.   After  execution of the procedure  the  space 
  299.         released is available for other uses.
  300.            
  301.              Mystic  Pascal  supports  true dynamic  storage  with  auto-
  302.         compression.   When  blocks are freed up,  storage  fragmentation 
  303.         occurs -- unused blocks tend to accumulate.   Because many blocks 
  304.         tend to be small,  they cannot be immediately reused for  another 
  305.         purpose.   When  storage  becomes  short an  auto-compression  is 
  306.         initiated by the Pascal system.  
  307.  
  308.  
  309.         Example:
  310.  
  311.                 PROCEDURE DISPOSEDEMO;
  312.                 TYPE
  313.                 DYNVAR = ARRAY [1..200] OF CHAR;
  314.                 VAR
  315.                 POINTER : ^DYNVAR;
  316.                 BEGIN
  317.                 NEW( POINTER );  (* ALLOCATE A DYNAMIC VAR *)
  318.  
  319.                 (* DO SOME PROCESSING WITH THE DYNAMIC VAR *)
  320.  
  321.                 DISPOSE( POINTER ); (* FREE UP THE 200 BYTES *)
  322.                 END;
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.         Section 8:  Procedures and Functions
  343.  
  344.         Mystic Pascal  User Manual                                      35
  345.  
  346.  
  347.         8.6  EXP
  348.  
  349.  
  350.         EXP( expression ) 
  351.  
  352.  
  353.         The exponential function computes e to the x power,  where x is a 
  354.         real or integer expression.  The result type is real.
  355.  
  356.  
  357.         Examples:
  358.  
  359.                 X := EXP( Y );
  360.  
  361.                 SHIPVELOCITY := EXP( WARPFACTOR );
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.         Section 8:  Procedures and Functions
  400.  
  401.         Mystic Pascal  User Manual                                      36
  402.  
  403.  
  404.         8.7  FLOAT         (Non-Standard Feature)
  405.  
  406.  
  407.         FLOAT( integer_expression )
  408.  
  409.  
  410.              The Float function converts integers to real  numbers.   The 
  411.         result type is real.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.         Section 8:  Procedures and Functions
  457.  
  458.         Mystic Pascal  User Manual                                      37
  459.  
  460.  
  461.         8.8  FRACTION      (Non-Standard Feature)
  462.  
  463.  
  464.         FRACTION( real_expression )
  465.  
  466.  
  467.              The  Fraction function returns the fractional part of a real 
  468.         number.  The result type is real.
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.         Section 8:  Procedures and Functions
  514.  
  515.         Mystic Pascal  User Manual                                      38
  516.  
  517.  
  518.         8.9  INTR          (Non-Standard Feature)
  519.  
  520.  
  521.         INTR( interrupt, registers )
  522.  
  523.  
  524.              The  INTR procedure permits access to DOS and BIOS functions 
  525.         by  directly  calling  interrupt  routines.    The  standard  DOS 
  526.         interrupt is number 33.   The interrupt number must be an integer 
  527.         expression.   The  registers  variable is used to  set  the  8086 
  528.         registers  on  entry  and they are stored into  the  variable  on 
  529.         return from the interrupt routine.
  530.  
  531.              Registers is declared as:
  532.  
  533.              REGISTERS = RECORD
  534.